home *** CD-ROM | disk | FTP | other *** search
/ Apple II Magazines (DO) / Softdisk Magazette Volume 2, No. 06 (1983-02)(Softdisk)(Side B).zip / Softdisk Magazette Volume 2, No. 06 (1983-02)(Softdisk)(Side B).do / MEMDUMP.bas < prev    next >
BASIC Source File  |  1996-12-24  |  2KB  |  61 lines

  1. 100  REM -----------------------
  2. 110  REM  
  3. 120  REM  MEMDUMP
  4. 130  REM 
  5. 140  REM  ERIC MARKS
  6. 150  REM  (C) NOV 1982
  7. 160  REM  ALL RIGHTS RESERVED
  8. 170  REM 
  9. 180  REM -----------------------
  10. 190  REM <CTRL-J>
  11. 200  REM  TAB SETTINGS FOR PRINT RTN
  12. 210  DATA  7,10,13,16,19,22,25,28
  13. 220  FOR X = 0 TO 7: READ T(X): NEXT X
  14. 230  REM <CTRL-J>
  15. 240  PRINT "DECIMAL OR HEX? (D/H): ";: GET K$: PRINT 
  16. 250  IF K$ = "D"  THEN 320
  17. 260  IF K$ < >"H"  THEN  PRINT  CHR$(7);: GOTO 240
  18. 270  REM <CTRL-J>
  19. 280  INPUT "ENTER START ADDRESS: ";N$: GOSUB 560:START = N
  20. 290  INPUT "ENTER END ADDRESS: ";N$: GOSUB 560:LAST = N
  21. 300  GOTO 350
  22. 310  REM <CTRL-J>
  23. 320  INPUT "ENTER START ADDRESS: ";START
  24. 330  INPUT "ENTER END ADDRESS: ";LAST
  25. 340  REM <CTRL-J>
  26. 350  HOME 
  27. 360  FOR X = START TO LAST  STEP 8
  28. 370  FOR Y = 0 TO 7
  29. 380 H(Y) =  PEEK(X +Y)
  30. 390  NEXT Y
  31. 400  REM  PRINT A LINE
  32. 410 N = X: GOSUB 620: PRINT OH$;: PRINT ": ";
  33. 420  FOR Z2 = 0 TO 7
  34. 430 N = H(Z2): GOSUB 620: HTAB (T(Z2)): PRINT OH$;
  35. 440  NEXT Z2
  36. 450  HTAB 32: REM  EQUIVALENT LINE
  37. 460  FOR Z1 = 0 TO 7
  38. 470  IF H(Z1) > -1  AND H(Z1) <32  THEN  INVERSE : PRINT  CHR$(H(Z1) +192);: NORMAL : GOTO 520
  39. 480  IF H(Z1) >31  AND H(Z1) <128  THEN  PRINT  CHR$(H(Z1));: GOTO 520
  40. 490  IF H(Z1) >127  AND H(Z1) <160  THEN  INVERSE : PRINT  CHR$(H(Z1) -64);: NORMAL : GOTO 520
  41. 500  IF H(Z1) >159  AND H(Z1) <224  THEN  PRINT  CHR$(H(Z1));: GOTO 520
  42. 510  IF H(Z1) >223  THEN  PRINT ".";
  43. 520  NEXT Z1
  44. 530  PRINT 
  45. 540  NEXT X
  46. 550  END 
  47. 560  REM  HEX TO DECIMAL
  48. 570  REM  NUMBER PASSED IN N$
  49. 580 N = 0: FOR I = 1 TO  LEN(N$):A =  ASC( MID$ (N$,I,1)) -48: IF A >9  THEN A = A -7
  50. 590  IF A <0  OR A >15  THEN  CALL  -211: PRINT : GOTO 610
  51. 600 N = 16 *N +A: NEXT 
  52. 610  RETURN : REM  EXIT HEX->DEC WITH N<CTRL-J>
  53. 620  REM  DECIMAL TO HEX
  54. 630  REM  NUMBER PASSED IN N
  55. 640 OH$ = "":X$ = ""
  56. 650 H1$ = "0123456789ABCDEF"
  57. 660 N1 =  INT(N/16):OH$ = OH$ + MID$ (H1$,N -16 *N1 +1,1):N = N1: IF N >0  THEN 660
  58. 670  FOR Z = 4 TO 1  STEP  -1:X$ = X$ + MID$ (OH$,Z,1): NEXT Z:OH$ = X$
  59. 680  IF  LEN(OH$) = 1  THEN OH$ = "0" +OH$
  60. 690  IF  LEN(OH$) = 3  THEN OH$ = "0" +OH$
  61. 700  RETURN : REM  EXIT DEC->HEX WITH OH$:REM<CTRL-J>